package com.xqb.modules.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * @author 2092466583
 */
@Data
@AllArgsConstructor
@Builder
@NoArgsConstructor
@Schema(name = "LesAllCatalogueVo", description = "课程章节及对应小节")
public class LesAllCatalogueVo {
    /**
     * 课程目录id
     */
    private Long id;
    /**
     * 目录名称
     */
    private String name;
    /**
     * 是否支持试看
     */
    private Long trailer;
    /**
     * 课程id
     */
    private Long courseId;
    /**
     * 目录类型1：章，2：节，3：测试
     */
    private Long type;
    /**
     * 所属章id，只有小节和测试有该值，章没有，章默认为0
     */
    private Long parentCatalogueId;
    /**
     * 媒资id
     */
    private Long mediaId;
    /**
     * 视频id
     */
    private Long videoId;
    /**
     * 视频名称
     */
    private String videoName;
    /**
     * 直播开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date livingStartTime;
    /**
     * 直播结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date livingEndTime;
    /**
     * 是否支持回放
     */
    private Long playBack;
    /**
     * 视频时长，以秒为单位
     */
    private Long mediaDuration;
    /**
     * 用于章节排序
     */
    private Long cIndex;
    @Schema(name = "subsection", description = "小节")
    private List<SectionVO> children;
}
